#从deveaber导出数据库文件，某一列数据是0开头的数字，会忽略掉这个0，也就是默认是以整形导出的。
#此脚本的功能是：写某几列，然后设置为设置该列每一行的数字都加个0，并且变成字符串类型，而不是整形类型。
import pandas as pd

def work(filepath,list):

    # 指定格式，不然有些字符串比如 '001' 读取后是1
    df=pd.read_excel(filepath, dtype=str)

    #遍历第i列，1代表第一列
    for i in list:
        df_l1=df.iloc[:, i-1]
        # for index, rows in df_l1.iterrows():
        #     print(index)
        #     l1=rows[0]

        # 遍历每一行
        for j in range(df_l1.shape[0]):
            # print(j)
            if(df_l1[j] != '-1'):
                df_l1[j]='0'+df_l1[j]

    print(df)

    writer=pd.ExcelWriter("数据结果集\\stringfy.xls")
    # index=True会多出一列
    df.to_excel(writer, index=False)
    writer.save()


if __name__ == '__main__':
    #指定列
    list = [1,6,8]
    # filepath = 'testExcel\\excelStringfytest.xls'
    filepath ='../数据测试集/stringfy.xls'

    work(filepath,list)